/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.client.om;

import java.util.List;

/**
 * Interface représentant les critères de la recherche client multi-critères
 * 
 * @author Guillaume Lancelin
 */
public interface IClientRecherche extends IAppelClientRce {

    /**
     * @return le numéro de client
     */
    String getNumeroClient();

    /**
     * @param numeroClient le numéro de client
     */
    void setNumeroClient(String numeroClient);

    /**
     * @return le nom
     */
    String getNom();

    /**
     * @param nom le nom
     */
    void setNom(String nom);

    /**
     * @return le prénom
     */
    String getPrenom();

    /**
     * @param prenom le prénom
     */
    void setPrenom(String prenom);

    /**
     * @return le numéro de contrat
     */
    String getNumeroContrat();

    /**
     * @param numeroContrat le numéro de contrat
     */
    void setNumeroContrat(String numeroContrat);

    /**
     * @return le numéro de client agent/courtier
     */
    String getNumeroClientAgent();

    /**
     * @param numeroClientAgent le numéro de client agent/courtier
     */
    void setNumeroClientAgent(String numeroClientAgent);

    /**
     * @return le code intermédiaire
     */
    List<String> getListeCodeIntermediaire();

    /**
     * @param codeIntermediaire le code intermédiaire
     */
    void setListeCodeIntermediaire(List<String> codeIntermediaire);

    /**
     * @return le code postal
     */
    String getCodePostal();

    /**
     * @param codePostal le code postal
     */
    void setCodePostal(String codePostal);

    /**
     * @return le siret
     */
    String getSiret();

    /**
     * @param siret le siret
     */
    void setSiret(String siret);

    /**
     * @return le typeClient
     */
    String getTypeClient();

    /**
     * @param typeClient le typeClient
     */
    void setTypeClient(String typeClient);

    /**
     * @return une liste de nature personne
     */
    List<NaturePersonne> getNaturePersonne();

    /**
     * @param naturePersonne une liste de nature personne
     */
    void setNaturePersonne(List<NaturePersonne> naturePersonne);

    /**
     * @return true si on fait une recherche en like sur le nom / prénom
     */
    boolean isRechercheLike();

    /**
     * @param rechercheLike true si on fait une recherche en like sur le nom /
     *            prénom
     */
    void setRechercheLike(boolean rechercheLike);

    /**
     * @return the villeCommune
     */
    String getVilleCommune();

    /**
     * @param villeCommune the villeCommune to set
     */
    void setVilleCommune(String villeCommune);
    
    /**
     * @return the numeroTelephone
     */
    String getNumeroTelephone();

    /**
     * @param numeroTelephone the numeroTelephone to set
     */
    void setNumeroTelephone(String numeroTelephone);
}
